Skip to main content

Contoh Kasus Api Pengajuan Cuti

Sebagai contoh kita akan membuat sebuah kasus pengajuan cuti yang menggunakan camunda berikut BPMN yang akan di gunakan dengan nama process definition Cuti

picture 1

File Bpmn

file bpmn diatas bisa di download dari (Download Bpmn)

Generate Semua Endpoint

Setelah melakukan konfigurasi teman teman bisa menggunakan php artisan alurkerja:pullprocess:scafond Cuti untuk mengambil semua usertask dan start event yang ada pada process defintion tersebut, dengan hasil

picture 2

Maka Command tersebut akan mengenerate beberapa controller, service , dan model dengan naming

Controller

Generator akan melakukan generate sesuai dengan nama process definition beserta usertasknya seperti berikut

picture 3
Controller yang berjenis Process Definition akan melakukan extend pada BpmnController dan Usertask akan melakukan extend pada UserTaskController

Model

Generator akan melakukan generate sesuai dengan nama process definition beserta usertasknya seperti berikut

picture 4
Model yang berjenis Process Definition akan melakukan extend pada BpmnModel dan Usertask akan melakukan extend pada UserTaskModel

Service

Generator akan melakukan generate sesuai dengan nama process definition beserta usertasknya seperti berikut

picture 5
Service yang berjenis Process Definition akan melakukan extend pada BpmnService dan Usertask akan melakukan extend pada UserTaskService

Migration

Selaian Model , Controller dan Service akan di generatekan Migration dengan jumlah Usertask ditambah dengan start process picture 6

Pada table yang di gunakan untuk start process Akan di buatkan field process_definition_id dengan type data string yang di gunakan untuk menjadi penghubug dengan camunda. Sedangkan table yang di gunakan untuk Usertask akan di berikan field busniess_key digunakan untuk menjadi penghubung dengan table start process

Route yang di generate

Hasil dari process diatas akan mengenerate Route yang dapat di gunakan dengan list item di bawah ini

MethodURLController yang di gunakan
GET|HEADapi/bpmn/cuticuti index › Api\Bpmn\CutiController@index
POSTapi/bpmn/cuticuti store › Api\Bpmn\CutiController@store
POSTapi/bpmn/cuti/bulkcuti bulk › Api\Bpmn\CutiController@bulk
GET|HEADapi/bpmn/cuti/cuti-konfirmasi-cuticuti cuti-konfirmasi-cuti index › Api\Bpmn\Cuti\CutiKonfirmasiCutiController@index
POSTapi/bpmn/cuti/cuti-konfirmasi-cuticuti cuti-konfirmasi-cuti store › Api\Bpmn\Cuti\CutiKonfirmasiCutiController@store
POSTapi/bpmn/cuti/cuti-konfirmasi-cuti/bulkcuti cuti-konfirmasi-cuti bulk › Api\Bpmn\Cuti\CutiKonfirmasiCutiController@bulk
GET|HEADapi/bpmn/cuti/cuti-konfirmasi-cuti/scope/{scope}cuti cuti-konfirmasi-cuti scope › Api\Bpmn\Cuti\CutiKonfirmasiCutiController@scope
GET|HEADapi/bpmn/cuti/cuti-konfirmasi-cuti/speccuti cuti-konfirmasi-cuti spec › Api\Bpmn\Cuti\CutiKonfirmasiCutiController@spec
PUTapi/bpmn/cuti/cuti-konfirmasi-cuti/task/{id}/{id}cuti cuti-konfirmasi-cuti task updateTask › Api\Bpmn\Cuti\CutiKonfirmasiCutiController@updat…
POSTapi/bpmn/cuti/cuti-konfirmasi-cuti/{busniessKey}/task/{taskId}/submitcuti cuti-konfirmasi-cuti submit-task submitTask › Api\Bpmn\Cuti\CutiKon…
GET|HEADapi/bpmn/cuti/cuti-konfirmasi-cuti/{id}cuti cuti-konfirmasi-cuti show › Api\Bpmn\Cuti\CutiKonfirmasiCutiController@show
POST|PUTapi/bpmn/cuti/cuti-konfirmasi-cuti/{id}cuti cuti-konfirmasi-cuti update › Api\Bpmn\Cuti\CutiKonfirmasiCutiController@update
DELETEapi/bpmn/cuti/cuti-konfirmasi-cuti/{id}cuti cuti-konfirmasi-cuti destroy › Api\Bpmn\Cuti\CutiKonfirmasiCutiController@destroy
GET|HEADapi/bpmn/cuti/cuti-konfirmasi-cuti/{id}/taskcuti cuti-konfirmasi-cuti task › Api\Bpmn\Cuti\CutiKonfirmasiCutiController@task
GET|HEADapi/bpmn/cuti/cuti-revisi-cuticuti cuti-revisi-cuti index › Api\Bpmn\Cuti\CutiRevisiCutiController@index
POSTapi/bpmn/cuti/cuti-revisi-cuticuti cuti-revisi-cuti store › Api\Bpmn\Cuti\CutiRevisiCutiController@store
POSTapi/bpmn/cuti/cuti-revisi-cuti/bulkcuti cuti-revisi-cuti bulk › Api\Bpmn\Cuti\CutiRevisiCutiController@bulk
GET|HEADapi/bpmn/cuti/cuti-revisi-cuti/scope/{scope}cuti cuti-revisi-cuti scope › Api\Bpmn\Cuti\CutiRevisiCutiController@scope
GET|HEADapi/bpmn/cuti/cuti-revisi-cuti/speccuti cuti-revisi-cuti spec › Api\Bpmn\Cuti\CutiRevisiCutiController@spec
PUTapi/bpmn/cuti/cuti-revisi-cuti/task/{id}/{id}cuti cuti-revisi-cuti task updateTask › Api\Bpmn\Cuti\CutiRevisiCutiController@updateTask
POSTapi/bpmn/cuti/cuti-revisi-cuti/{busniessKey}/task/{taskId}/submitcuti cuti-revisi-cuti submit-task submitTask › Api\Bpmn\Cuti\CutiRevisiCutiC…
GET|HEADapi/bpmn/cuti/cuti-revisi-cuti/{id}cuti cuti-revisi-cuti show › Api\Bpmn\Cuti\CutiRevisiCutiController@show
POST|PUTapi/bpmn/cuti/cuti-revisi-cuti/{id}cuti cuti-revisi-cuti update › Api\Bpmn\Cuti\CutiRevisiCutiController@update
DELETEapi/bpmn/cuti/cuti-revisi-cuti/{id}cuti cuti-revisi-cuti destroy › Api\Bpmn\Cuti\CutiRevisiCutiController@destroy
GET|HEADapi/bpmn/cuti/cuti-revisi-cuti/{id}/taskcuti cuti-revisi-cuti task › Api\Bpmn\Cuti\CutiRevisiCutiController@task
GET|HEADapi/bpmn/cuti/scope/{scope}cuti scope › Api\Bpmn\CutiController@scope
GET|HEADapi/bpmn/cuti/speccuti spec › Api\Bpmn\CutiController@spec
POSTapi/bpmn/cuti/startcuti start › Api\Bpmn\CutiController@start
GET|HEADapi/bpmn/cuti/statisticcuti statistic › Api\Bpmn\CutiController@statistic